Communication networks comprise a plurality of nodes, or switches, which are interconnected to form a web of nodes. Users communicate with other users in the network by transmitting messages and data through the network. Data is routed or switched through a path of connected nodes from the node associated with the sender to node associated with the recipient.
Each node may maintain a set of statistics relating to the network traffic passing therethrough. Statistics include performance, usage or billing data collected from a communication network. The statistics may be used for billing purposes, evaluation of network performance at a node and fault diagnostics that may be present about a node. Typically, statistics are tracked using software modules which track aspects of the statistics in counters or registers internal to the nodes. The counters may be embodied in hardware or software using techniques known in the art. Generally, to conserve resources, the counters maintain only recent data. Further, the counters may be configured to be reset after a predetermined time period or interval. Typical reset intervals are 5 minutes, 15 minutes, 60 minutes and 24 hours. The counter occupies a portion of memory on the node to store data from the previous interval while compiling data for the current interval. At the end of the current interval, interval data is written over the memory contents for the previous interval. The counter for the current interval is reset and then begins to track data for the current interval. As such, statistics must be collected in every interval in order to retain timely statistics.
In prior art systems, there are statistics collection systems for a communication network which typically send statistics requests to the network using the known simple network management protocol (SNMP) or other protocols appropriate for the nodes. The statistics collection system typically communicates with the network using a separate device, a statistics collection unit. The statistics collection unit is typically external to the network and is connected to the network using a dedicated network management functionality communication link.
It will be appreciated that statistics collection requires resources. Processing a request for statistics collection from the statistics collection unit by a node requires that the node utilize its processing resources, thereby diverting resources from processing switching or routing traffic. Accordingly, nodes typically are not optimized for statistics collection processing and generally commit only limited resources thereto. The statistics collection unit is also resource limited because of the vast number of nodes in the network to be queried.
There are two limitations that may limit the capacity in the network for statistics collection: system level limitations and per-node limitations. System level limitations include: (i) time required for building requests and managing responses, (ii) upper bound on the number of items that can be transmitted with a single request and (iii) upper bound on outstanding requests in a segment of the network given capacity of the links in the segment and the number of expected responses. Per-node limitations include: (i) node response time, (ii) node resource limitations and (iii) upper bound on the number of outstanding requests for the node given that the node must divert switching resources to respond to such requests. An outstanding request is a request for which a response from the node has not yet been communicated to the statistics collection unit.
In prior art systems, requests for statistics for a specific interval are sent to the network in blocks which are not modelled for bandwidth or other efficiencies. As such, the system and per-node constraints may combine to defer requests to a node so that statistics collection is not maximized for a given interval. This may result in a loss of statistical data. Timely polling of the counters in a node must occur Or the overall statistics collection process will produce incomplete or inaccurate results.
Additionally, in the prior art, a statistics collection unit may use an overly conservative constraint for the number of outstanding requests allowed for a particular node. A typical conservative constraint used is the smallest number of outstanding requests allowed for the nodes in the segment or network as the constraint for every node in the segment or network. This may underutilize a given node and defer further requests for that node until the current outstanding requests are answered. Deferring requests to the node may result statistics collection not being maximized for a given interval resulting in a loss of statistical data.
There remains a need for a system and method which improves upon the use of available resources in processing requests for statistics to nodes in a network.